package com.polaris.live.ui.party.listener

import com.polaris.live.im.sfs.bean.live.SendLiveCloseMessage
import com.polaris.live.im.sfs.bean.live.SendLiveFloatingMessage
import com.polaris.live.im.sfs.bean.live.SendLiveMessage
import com.polaris.live.im.sfs.bean.live.SendLiveNoticeMessage
import com.polaris.live.im.sfs.core.bean.DataArgument
import sfs2x.client.entities.variables.RoomVariable

/**
 * PartyImListener
 *
 * @author Created by 天晴 on 2024/3/1 15:53
 * @since 1.0.0
 */
interface PartyImListener {

    /**
     * 关闭房间回调
     */
    fun closeRoomMessage(da: SendLiveCloseMessage)

    /**
     * 变量更新回调
     */
    fun variableUpdate(variable: RoomVariable)

    /**
     *直播间人数变化
     */
    fun userCountChange(count: Int)

    /**
     * 直播公屏消息
     */
    fun publicMessage(message: SendLiveMessage)

    /**
     * 直播事件消息
     */
    fun liveEvent(command: String, argument: DataArgument)

    /**
     * 直播飘屏消息
     */
    fun floatingMessage(message: SendLiveFloatingMessage)

    /**
     * 直播间通知消息
     */
    fun noticeMessage(message: SendLiveNoticeMessage) {

    }
}